home *** CD-ROM | disk | FTP | other *** search
-
-
-
- GETRUSAGE C Library Procedures GETRUSAGE
-
-
-
- NNAAMMEE
- getrusage - get information about resource utilization
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<ssyyss//ttiimmee..hh>>
- ##iinncclluuddee <<ssyyss//rreessoouurrccee..hh>>
-
- ##ddeeffiinnee RRUUSSAAGGEE__SSEELLFF 00 //** ccaalllliinngg pprroocceessss **//
- ##ddeeffiinnee RRUUSSAAGGEE__CCHHIILLDDRREENN --11 //** tteerrmmiinnaatteedd cchhiilldd pprroocceesssseess **//
-
- ggeettrruussaaggee((wwhhoo,, rruussaaggee))
- iinntt wwhhoo;;
- ssttrruucctt rruussaaggee **rruussaaggee;;
-
- DDEESSCCRRIIPPTTIIOONN
- _G_e_t_r_u_s_a_g_e returns information describing the resources util-
- ized by the current process, or all its terminated child
- processes. The _w_h_o parameter is one of RUSAGE_SELF or
- RUSAGE_CHILDREN. The buffer to which _r_u_s_a_g_e points will be
- filled in with the following structure:
-
- struct rusage {
- struct timeval ru_utime; /* user time used */
- struct timeval ru_stime; /* system time used */
- int ru_maxrss;
- int ru_ixrss; /* integral shared text memory size */
- int ru_idrss; /* integral unshared data size */
- int ru_isrss; /* integral unshared stack size */
- int ru_minflt; /* page reclaims */
- int ru_majflt; /* page faults */
- int ru_nswap; /* swaps */
- int ru_inblock; /* block input operations */
- int ru_oublock; /* block output operations */
- int ru_msgsnd; /* messages sent */
- int ru_msgrcv; /* messages received */
- int ru_nsignals; /* signals received */
- int ru_nvcsw; /* voluntary context switches */
- int ru_nivcsw; /* involuntary context switches */
- };
-
- The fields are interpreted as follows:
-
- ru_utime the total amount of time spent executing in
- user mode.
-
- ru_stime the total amount of time spent in the system
- executing on behalf of the process(es).
-
- ru_maxrss the maximum resident set size utilized (in
- kilobytes).
-
- ru_ixrss an "integral" value indicating the amount of
-
-
-
- Sprite v1.0 April 3, 1987 1
-
-
-
-
-
-
- GETRUSAGE C Library Procedures GETRUSAGE
-
-
-
- memory used by the text segment that was also
- shared among other processes. This value is
- expressed in units of kilobytes * ticks-of-
- execution.
-
- ru_idrss an integral value of the amount of unshared
- memory residing in the data segment of a pro-
- cess (expressed in units of kilobytes *
- ticks-of-execution).
-
- ru_isrss an integral value of the amount of unshared
- memory residing in the stack segment of a
- process (expressed in units of kilobytes *
- ticks-of-execution).
-
- ru_minflt the number of page faults serviced without
- any I/O activity; here I/O activity is
- avoided by "reclaiming" a page frame from the
- list of pages awaiting reallocation.
-
- ru_majflt the number of page faults serviced that
- required I/O activity.
-
- ru_nswap the number of times a process was "swapped"
- out of main memory.
-
- ru_inblock the number of times the file system had to
- perform input.
-
- ru_oublock the number of times the file system had to
- perform output.
-
- ru_msgsnd the number of IPC messages sent.
-
- ru_msgrcv the number of IPC messages received.
-
- ru_nsignals the number of signals delivered.
-
- ru_nvcsw the number of times a context switch resulted
- due to a process voluntarily giving up the
- processor before its time slice was completed
- (usually to await availability of a
- resource).
-
- ru_nivcsw the number of times a context switch resulted
- due to a higher priority process becoming
- runnable or because the current process
- exceeded its time slice.
-
- NNOOTTEESS
- The numbers _r_u__i_n_b_l_o_c_k and _r_u__o_u_b_l_o_c_k account only for real
- I/O; data supplied by the caching mechanism is charged only
-
-
-
- Sprite v1.0 April 3, 1987 2
-
-
-
-
-
-
- GETRUSAGE C Library Procedures GETRUSAGE
-
-
-
- to the first process to read or write the data.
-
- EERRRROORRSS
- The possible errors for _g_e_t_r_u_s_a_g_e are:
-
- [EINVAL] The _w_h_o parameter is not a valid value.
-
- [EFAULT] The address specified by the _r_u_s_a_g_e parameter
- is not in a valid part of the process address
- space.
-
- SSEEEE AALLSSOO
- gettimeofday(2), wait(2)
-
- BBUUGGSS
- There is no way to obtain information about a child process
- that has not yet terminated.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 April 3, 1987 3
-
-
-
-